package com.avcdata.avcchart.linechart.chart;

import android.content.Context;
import android.util.AttributeSet;

import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.components.Description;
import com.github.mikephil.charting.components.Legend;
import com.github.mikephil.charting.components.XAxis;
import com.github.mikephil.charting.components.YAxis;
import com.github.mikephil.charting.data.LineData;
import com.github.mikephil.charting.listener.OnChartGestureListener;
import com.github.mikephil.charting.listener.OnChartValueSelectedListener;

/**
 * 折线图的基础类
 * Created by zyh on 17/6/19.
 */

public class AvcBaseLineCharts extends LineChart {
    public AvcBaseLineCharts(Context context) {
        super(context);
    }

    public AvcBaseLineCharts(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public AvcBaseLineCharts(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    /**
     * 设置手势滑动事件
     * @param l
     */
    @Override
    public void setOnChartGestureListener(OnChartGestureListener l) {
        super.setOnChartGestureListener(l);
    }

    /**
     * 设置数值选择监听
     * @param l
     */
    @Override
    public void setOnChartValueSelectedListener(OnChartValueSelectedListener l) {
        super.setOnChartValueSelectedListener(l);
    }

    /**
     * 后台绘制
     * @param enabled
     */
    @Override
    public void setDrawGridBackground(boolean enabled) {
        super.setDrawGridBackground(enabled);
    }

    /**
     * 获取描述文本对象
     * @return
     */
    @Override
    public Description getDescription() {
        return super.getDescription();
    }

    /**
     * 是否可以缩放 x和y轴，默认是true
     * @param enabled
     */
    @Override
    public void setScaleEnabled(boolean enabled) {
        super.setScaleEnabled(enabled);
    }

    /**
     * 设置x轴和y轴能否同时缩放。默认是否
     * @param enabled
     */
    @Override
    public void setPinchZoom(boolean enabled) {
        super.setPinchZoom(enabled);
    }

    /**
     * 设置是否可以通过双击屏幕放大图表，默认是true
     * @param enabled
     */
    @Override
    public void setDoubleTapToZoomEnabled(boolean enabled) {
        super.setDoubleTapToZoomEnabled(enabled);
    }

    /**
     * 能否拖拽高亮线（数据点与坐标的提示线）,默认是true
     * @param enabled
     */
    @Override
    public void setHighlightPerDragEnabled(boolean enabled) {
        super.setHighlightPerDragEnabled(enabled);
    }

    /**
     * 拖拽滚动时，手放开是都会持续滚动，默认是true
     * @param enabled
     */
    @Override
    public void setDragDecelerationEnabled(boolean enabled) {
        super.setDragDecelerationEnabled(enabled);
    }

    /**
     * 与上面属性配合，持续滚动时的速度快慢
     * @param newValue
     */
    @Override
    public void setDragDecelerationFrictionCoef(float newValue) {
        super.setDragDecelerationFrictionCoef(newValue);
    }

    /**
     * 是否在折线图上添加边框
     * @param enabled
     */
    @Override
    public void setDrawBorders(boolean enabled) {
        super.setDrawBorders(enabled);
    }

    /**
     * 没有数据时显示的文字
     * @param text
     */
    @Override
    public void setNoDataText(String text) {
        super.setNoDataText(text);
    }

    /**
     * 获取x轴
     * @return
     */
    @Override
    public XAxis getXAxis() {
        return super.getXAxis();
    }

    /**
     * 获取坐标轴
     * @param axis
     * @return
     */
    @Override
    public YAxis getAxis(YAxis.AxisDependency axis) {
        return super.getAxis(axis);
    }

    /**
     * 获取比例图，就是那个一组y的value
     * @return
     */
    @Override
    public Legend getLegend() {
        return super.getLegend();
    }

    /**
     * 设置数据
     * @param data
     */
    @Override
    public void setData(LineData data) {
        super.setData(data);
    }
}
